Data storage system



June 19, 1962 J. s. CROSBY. JR., ETAL 3,040,299

DATA STORAGE SYSTEM 14 Sheets-Sheet 1 Filed May 3, 1956 June 19, 1962 J. s. CROSBY. JR., ErAL 3,040,299

DATA STORAGE SYSTEM Filed may s, 195e 14 sheets-sheet 2 A 6N |m md5 June 19, 1962 Filed May 3. 1956 l*REGZOMW* REG. O REG. 1

@www

J. S. CROSBY, JR., ETAL DATA STORAGE SYSTEM 14 Sheets-Sheet 3 TIMING CHANNEL READ HEAD OUTPUT DTP" FIG 3 DTP-2 DTP- 3 DTP-4 DTP- 3 1.7/1 Sec.

STATUS WRITE SAMPLE DTP-I X DEMAND DATA AVAILABLE INPUT WRITE June 19, 1962 J. s. CROSBY, JR., ETAL 3,040,299

DATA STORAGE SYSTEM 14 Sheets-Sheet 5 Filed May 5. 1956 June 19, 1962 .1.s. CROSBY, JR., ErAL DATA STORAGE SYSTEM Filed may s. 195e 14 sheets-sheet s mas.

June 19, 1962 J. s. CROSBY, JR., ErAL 3,040,299

DATA STORAGE SYSTEM Filed May s. 195e 14 sheets-sheet 'r June 19, 1962 J. s. CROSBY, JR., ETAL 3.040,299

DATA STORAGE SYSTEM Filed May 3. 1956 14 Sheets-Sheet 8 WORD 2 BUFFER 24 CORES BUFFER WORD I 26 CORES BUFFER IO2O @ 50 CORES SHIFT REGISTER PRI FIG. 10-2 June 19, 1962 J. s. CROSBY, JR., ErAL 3,040,299

DATA STORAGE SYSTEM 14 Sheets-Sheet 10 Filed May 3. 1956 lzll MFE;

mmh

ONIN* am t nl E O w w 14 Sheets-Sheet 11 June 19, 1962 J. s. CROSBY, JR., a-rAL DATA STCRAGE SYSTEM Filed May 3, 1956 NTM- m5@ 5 v wflmTAl NTE m72 TQ June 19, 1962 .1.s. cRosBY,JR., ErAL 3,040,299

DATA STORAGE SYSTEM 14 Sheets-Sheet 12 Filed May 3, 1956 mmFOmmN Umm v June 19, 1962 J. s. CROSBY, JR., ErAL 3,040,299

DATA STORAGE SYSTEM 14 Sheets-Sheet 15 Filed May 5. 1956 OTwF wfg...

`)une 19, 1962 .1. s. CROSBY, JR., ErAL 3,040,299

DATA STORAGE SYSTEM Filed May 3, 1956 14 Sheets-Sheet 14 FIG. 18

i 30V -HOV United States Patent Oiitice 3,049,299 Patented .lune 19, 1952 3,040,299 DATA STORAGE SYSTEM James S. Crosby, Jr., and Francis Stern-Montagny,

Poughkeepsie, N.Y., assignors to International Business Machines Corporation, New York, N.Y., a corporation of New York Filed May 3, 1956, Ser. No. 582,578 16 Claims. (Cl. S40-172.5)

The present invention relates to data storage systems and, more particularly, to systems for storing digital data information presented in serial form. While the invention is of general application, it is particularly suitable in systems employing magnetic drum storage and will be described in that connection.

It is found desirable in many forms of data translation systems to provide a time buffer or temporary storage of data information between the data source and point of data utilization. For example, a time butler permits a high speed data source and a low speed data utilizer or a low speed data source and a high speed data utilizer to be interconnected.

A data translation system of the type last mentioned is disclosed in the co-pending application Serial No. 494,982, now Patent No. 2,988,735, tiled March 17, 1955, in the names of Robert R. Everett et al., and assigned to the same assignee as the present application. This system utilizes a magnetic drum storage device as a time buffer, and provides relatively high average access time from plural data sources to drum storage by arranging that the access time be a function of the empty or full status of storage registers on the drum. Drum status channels are employed to indicate whether each of successively presented drum registers is empty or full, and the resulting indication is then used to control translation of data from a selected source to the rst empty drum register.

While the rate of data translation to storage in a system of the type last described is relatively high, there are many applications where it would be desirable to increase the storage rate to an even higher value than is readily feasible in such systems. It is also desirable to provide an automatic parity check, for count of the number of received messages data bits to insure that a complete data message is received from a given source, and further to provide modified parity information for transmission to storage with the data and indicative of the amount of new data information which may be added to the data to identify its source or time of receipt or both.

It is an object of the present invention, therefore, to provide a new and improved data storage system having one or more of the desirable characteristics last enumerated.

It is a further object of the invention to provide a new and improved data storage system having an appreciably higher rate of message data transfer to storage and thus one capable of operation with larger quantities of data and larger numbers of message data sources than heretofore readily attainable.

It is an additional object of the invention to provide a novel data storage system in which a common channel translates message data to storage from a plurality of message data sources and does so by receiving a message from one source while simultaneously translating to storage a message earlier received from another source, thus enhancing the simplification of the storage system and increasing its message handling capacity.

It is yet a further object of the invention to provide a data storage system in which the erroneous storage of data is avoided by constantly providing parity checks both on the completeness of incoming messages from each of plural sources and thereafter correcting the parity identication to take into account added information in accordance with source identity and time-of-receipt information added to the message, and completing the message storage only in response to freedom from parity error.

lt is another object of the invention to provide a data storage system for storing data received from plural data sources while automatically providing and storing with the data both information of source identity and time of data receipt.

It is a further object of the invention to provide a new and improved mode of operating a magnetic core register by use of `a single current pulse to eect automatically and consecutively both data read out and data clearing of the register.

It is yet another object of the invention to provide a novel data translating system in which an information bit, identifying the presence of message data, is made to serve not only its identification function but also that of controlling message translation to storage.

Other objects and advantages of the invention will appear as the detail description thereof proceeds in the light of the drawings forming a part of this application, and in which:

FIG. 1 illustrates a magnetic storage drum and in conjunction with FIG. 1a particularly represents the manner of organization of its storage capacity, the mode of individual and successive word storage, and the manner of generating certain drum-controlled timing signals;

FIG. 2 represents schematically a timing system employed as a component of the data storage system, and FIGS. 3 and 4 represent graphically the time relation- V ships of certain timing pulses generated by the timing system;

FIG. 5 represents schematically the arrangement of a Write status system which forms another component of the storage system;

FIG. 6 represents schematically a complete data storage system embodying the present invention in a particular form, FIG. 7 represents graphically the arrangement of serially presented information bits supplied from a data source to the system for storage, and FIG. 8 represents certain timing relationships associated with the received data information bits;

FIG. 9 shows the arrangement ot data and related information as ultimately stored by the system;

FIGS. 10-1 to 10--3 represent schematically the arrangement of a system for converting data information presented in serial form to data information in parallel from suitable for storage. and FlG. 10a is the circuit arrangement of a modified form of message-source identity generator used in this system;

FIG. 11 is a circuit diagram of three stages of a magnetic core register suitable for use in the FIG. 10 system;

FIG. l2 represents schematically a write system through which data from multiple data sources are translated to storage, FIG. 13 represents a write control system. FIG. 14 shows the manner in which FIGS. 12 and 13 should be considered together as a composite structure, and FIG. 14a graphically represents certain operating characteristics of core registers pertinent to the operation of the write system function in the data storage system;

FIG. 15 represents schematically a time tag system for identifying the time of receipt of data from each of plural sources;

FIG. 16 shows schematically the arrangement of a parity correction system used in the storage system;

FIG. 17 represents the electrical circuit of a power cathode follower used as a component of the storage system; and

FIGS. 18 and 19 show the circuits of two slightly different forms of direct current level setters suitable for use as components of the storage system herein disclosed.

Conventions Employed Throughout the following description and in the accompanying drawings ther-c are certain conventions employed which are familiar to certain of those skilled in the art. Additional information concerning these conventions is as follows:

In the block diagram figures of the drawing a conventional filled-in arrowhead is employed on lines throughout the drawing to indicate (l) a circuit connection, (2) energization with standard positive pulses, and (3) the direction of pulse travel which is also the direction of control. A conventional unfilled-in arrowhead is employed on lines throughout the drawing to indicate the same things indicated by a conventional filled-in arrowhead except that the unfilled-in arrowhead illustrates a non-standard pulse generally having a duration considerably longer than the pulse-represented by a lled-in arrowhead. A diamond-shaped arrowhead indicates (l) a circuit connection and (2) energization with a D.C. level. Cables which are used to transfer data are shown as two parallel lines with the arrowheads at one end thereof, and at some point intermediate the ends of those cables the two parallel lines are widened either in the form of a circle or in the form of a rectangular box and numbers appear within the circle or the rectangular box. Cables employing the circle indicate that the lines or conductors of that cable convey information by the presence or absence of a pulse in parallel transfer whereas those cables having a rectangular box indicate that (l) if those lines are pulse lines, the lines of that cable convey information at diiferent times or (2) that those lines are D C. level conductors. The numbers appearing within the circle or the rectangular boX of a cable indicate the number of conductors within the cable. The D C. levels are on the order of l Volts when positive and volts when negative, whereas pulses indicated by conventional filled-in arrowheads are positive 1/10 microsecond, half-sine, 2O to 40 volts. Pulses indicated by conventional unfilled-in arrowheads are usually considerably longer than 1/10 microsecond in duration and not necessarily sinusoidal, and those referred to hereinafter are in general of the order of l to 2() microseconds in duration. The input and output lines of the block symbols are connected to the most convenient side of the block including the same side in sorne cases. An input line to a corner of a block symbol and an output line from the adjacent corner of that block symbol indicates that the pulses or D.C. levels are applied to the input of the circuit represented by the block and the input conductor is electrically connected to the output conductor of the adjacent corner.

Bold face character symbols appearing within a block symbol identify the common name for the circuit represented; that is, FF identifies a ip-flop, GT a gate circuit, OR a logical OR circuit, and so forth. The character subscripts preceding bold face characters identifying the model of the circuit identified by the bold face character, that is AFF identities the model A flip-Hop, CFF identities the model C tiip-tlop and so forth, These subscripts aid in identifying an individual unit of particular construction and operation, as disclosed in an identified co-pending application, patent or other reference publication named.

An AND circuit develops a pulse output when either coincident pulses are applied to its plural input circuits or develops a D.C. output when coincident unidirectional potentials are applied to the gate. A gate" is a form of AND circuit in which a pulse output is developed when a coincident D.C. input and a pulse input are applied to its plural input circuits.

In the description, the general arrangement of the apparatus of a preferred embodiment of this invention will first be described with respect both `to the manner in which the various circuit components and apparatus are interconnected and in respect to the general over-all operation which is performed by these components and apparatus. The description of the general arrangement will be followed by separate and detailed descriptions of the various components and apparatus, which so require it, and each section of the description `will have a heading which indicates the apparatus about to be described. The following is an index or table of contents of the description:

TABLE OF CONTENTS ection Column No. Conventions Employed 3 Data Storage Drum Organization and Operation 4 Timing System 6 Write Status System 8 Data Storage System General Arrangement 1l Data Information Input System 13 Write System 19 Time Tag System 22 Parity Correction 24 Component Constructions 25 Data Storage Drum Organization and Operation A representative magnetic storage drum organization suitable for use in the data storage system of the present invention is illustrated in FIG. l. The drum 10 is of conventional construction and in a particular application has a diameter of 10.7 inches and a length of 12,6 inches and is driven by a synchronous motor through a toothed belt at an angular velocity of 2,914 revolutions per minute. The drum is usually constructed from a solid block of suitable material, such as brass, and its cylindrical surface is plated with a 0.005-inch layer of magnetic nickel-cobalt alloy.

As the drum rotates, fixed magnetic heads held rigidly in place by bars arranged parallel to the longitudinal axis of the drum transfer information to and from its magnetic surface by recording or writing binary information in the form of small electromagnetic flux patterns and later detecting or reading these patterns. FIG. 1 shows representative writing heads W-l and W-Z and several representative reading heads R-l, R-Z, and R-S which are mounted with a small air gap between them and the drum surface.

As indicated graphically in FIG. la the smaliest unit of intelligence that can be written on or read from a drum is called a bit indicated by the rectangle B. If the small electromagnetic iiux pattern written by a magnetic head is positive the bit is a binary One; if the lux pattern is negative it is a Zero. Once written, a bit is stored on the drum without distortion unless another bit is written over it or it is deliberately erased. Reading from the drum does not in any way distort or alter the bits recorded on the drum surface. As the drum rotates, curved circumferential bands of drum surface, called drum channels, pass under a writing (and corresponding reading) magnetic head. Each word to be recorded on the drum surface includes a plurality of bits, indicated in FIG. la by way 0f example as B-l through B-l3, which are concurrently written (or read) `by individual physically aligned magnetic heads. These concurrently translated word bits are accordingly stored in individual longitudinally positioned contiguous channels of the drum surface. The number of such contiguous channels for any given drum length depends, of course, upon the maximum length which is selected as being permissible for the longest word to be stored. The rotational velocity of the drum and the timing of its reading and `writing operation are such, for

example, that each magnetic head can read or Write 2,048 bits in each channel of the drum.

In the data storage systr 1 herein described, 24 contiguous channels are used for word-bit information and additional channels may be used to contain associated information for each vword such as the word parity, source identification and time of word receipt for storage (hereinafter called time tag). The contiguous channels in which the word bits and their associated information bits are Stored constitute a logical eld of the drum surface of which a number are provided depending upon the quantity of information to be stored, the number of word sources to be handled in storage, and the like.

The longitudinal section of a drum field onto and from which Words are transferred is called a drum register. In the system described herein, two words may be received from each data source, and the words are stored in consecutive registers (as indicated in FIG. ln) together called a message slot As the drum rotates, a portion of the drum surface (known in the art as a timing channel) passes beneath a reading head R-2. This timing channel, indicated in FIG. 1 as a dotted line 11, is in reality merely a succession of magnetized spots each occupying a space indicating a drum register. These spots are recorded on the drum surface in such a manner that, as the drum rotates, a signal of sine wave form is induced in the asso ciated read head R-Z. Assuming that there are 2,048 consecutive registers, there will be 2,048 corresponding equidistantly spaced magnetized spots in the timing channel 11. A second timing channel, indicated by the broken line 12, and designated hereinafter as a drum timing in dexl channel (or DT IX channel or pulse signal) passes under another read head R-3. This channel also includes a succession of equidistantly spaced magnetic spots but with the difference that one of these spots is magnetized with opposite magnetic polarity than are ail of the other spots of this channel. When this one magnetized spot passes underneath the read head R-3, one sine wave of voltage of opposite phase with respect to the other cycles is induced in the winding of the read head R-S and serves to identify thc reference point for the addressing of all registers and for the accounting of ali revolutions of the drum during subsequent operations. The corresponding drum register in which this index bit is written is number 000i), and the other drum registers are then numbered consecutively to number 2,047. The 2,048th is again register number 0000. Since the drum rotates completely once every 20.6 milliseconds at a speed of 2,914 r.p.m., the period between the mid-points of successive registers is approximately l0 microseconds. The timing voltage developed by the timing read head R-Z accordingly has a period of l0 `microseconds and there is developed from this voltage, by a timing system later to be described, four 0.1 microsecond duration pulses having 2.5 microsecond period so that four such pulses occur for each drum register. These pulses are hereinafter designated as DTP 1, DTP 2, DIP 3, and DTP 4.

The storage drum 10 further includes two channels, indicated in broken lines as channels 13 and 14, which are used for status control purposes in translating data into or from drum storage. The channel 13 has associated with it a data-storage system Write head W-Z, and a read head 1S shown in broken lines is associated with this channel but forms a component of the data read-out system which receives and utilizes the stored data information. The status channel 14 has associated with it a data-storage system read head R-l, and a write head 16 shown in broken lines forms a component of the read-out system last mentioned. The status channels 13 and 14 are so used that a stored l bit in a status channel indicates a full register or register having a word stored in it, and a O bit indicates an empty register. The read head R-l that reads the control status channel of a register is physically positioned ahead of the data information S heads that write in the register by an amount equal to the distance traveled by the drum 1t) in l0 microseconds. Thus a status indication is provided for each register 1l) microseconds before that register starts to pass under the data information heads which write in it.

The operation to provide channel status is such that if the read head R-1 reads a 0 bit indicating that the next register contains no stored word (or that a previously stored word has been transferred from the drum to the data read-out system), a demand pulse is generated by a write status system more fully described hereinafter provided that this next register is an even numbered register. Conversely, if a l bit is read by the read hcad R-l indicating that the next register contains a stored word, a l bit is generated by the status system and is applied to the write head W2. In the event that the read head R-l indicates that the next channel is empty and the data storage system indicates information is available for entry into storage, the write status system generates and applies to the write head W-Z a 1 bit at the time the information is written into storage on the drum. Conversely, in the case last assumed, if the read head R-l indicates that the next register is'empty but the storage System indicates that no data is available for storage, the write status system generates and applies to the write head W-2 a 0 bit.

It may be mentioned in passing that the read head 15 and write head 16 of the data readout system utilize the status information of the status channels 13 and 14 in somewhat inverse manner to their use by the data storage system. That is, the read head 15 informs the write out system that data is stored in the next register and is accordingly available for use by the write out system, and the latter generates and applies to its write head 16 a l bit it it does not read out and utilizes the stored word of that register or generates and applies to the Write head 16 a 0 bit if it reads out the word stored in the register and thus renders the latter available for subsequent word storage.

Timing System Before considering the data storage system as a whole, it will be helpful to describe the arrangement and operation of two component systems exercising overall control of the storage system.

One of these is a timing system schematically shown in .FIG 2. This system is essentially similar to a timing system disclosed as FIG. 8 in the above-identified Everett et al. application, to which reference is made for a more detailed explanation of the system arrangement and operation. Briefly considered, the system includes a time pulse generator 2-10 having an input circuit coupled through conductors 2-11 to the timing channel read head R2 referred to above in connection with FIG. l. The read head R-2 applies to the time pulse generator 2-10 a voltage of sinusoidal wave form and the generator produces therefrom pulses of short duration, or timing pulses, at each of the input signals zero crossings. There is developed in an output circuit 212 of the generator a timing pulse during each of the positive-slope zero crossings of the input voltage, and there is developed in a second output circuit 2-13 of the generator a pulse during each of the negative-slope zero crossings of the input voltage. FIG. 3 graphically represents these voltage relationships more clearly, curve A representing the sinusoidal timing voitage applied by the read head R-Z to the timing generator 210, curve B the timing pulses generated in the output circuit 242, and curve D the timing pulses developed in the output circuit 2-13.

The timing pulses developed in the output circuit 2-12 are translated through a pulse amplifier 2-14 to develop in lan ogitput cfircuitdZ-IS of the latter amplified timing pu ses ereinater i entiied as drum or DTP 1. timing pulse one The timing pulses of the output circuit 2-12 are also translated through a pulse amplier 2-16 and a delay driver 2-17 to a delay circuit 2-18 which provides l1/z microsecond pulse delay. These delayed pulses are then translated through a pulse amplifier 2-19 to a delay circuit 2-20 where the pulses are again delayed by 1/2 mierosecond. The latter pulses are likewise translated through a pulse amplifier 2-21 to a third delay circuit 2-22 where the pulses are further delayed 1/2 microsecond to provide an overall delay of these pulses equal to 21/2 microseconds. These delayed pulses are thereafter translated through a pulse amplifier 2-23 to an output circuit 2-24 of the latter to provide timing pulses delayed 21/2 microseconds and hereinafter identified as "DTP 2 pulses. These pulses are graphically shown as curve C of FIG. 3. The sine wave timing potential applied to the generator 2-10 has a frequency of 100 kilocycles per second, or a period of 10 microseconds, so that the DTP 2 pulses are delayed 1A cycle of the input timing potential.

The timing pulses developed in the output circuit 2-13 of the generator 2-10 are applied through two translating channels essentially similar to that last described except for the time delays involved. One of these channels comprises a pulse amplifier 2-25 having an output circuit 2-26 in which are developed DTP 3" timing pulses which have a delay of 1/2 cycle with respect to the input timing potential of the read head R-Z. These timing pulses are used directly to time certain operations of the data storage system. and are also translated through tandem arranged units comprising a pulse amplifier 2- 27, a pulse amplifier 2-28, a delay driver Z-29, a delay circuit Z-S providing 11/2 microseconds delay, a pulse amplifier 2-31, a delay circuit 2-32 providing a '-)o microsecond delay and a pulse amplifier 2-33 having an output circuit 2-34 in which are `developed the DTP 3 timing pulses but delayed by an additional 1.7 microseconds. The latter pulses are represented by curve F of FIG. 3. The second translating channel through which the timing pulses of the output circuit 2-13 are translated includes tandem arranged units comprising a pulse amplifier 2-35, a delay driver 2-36, a delay circuit 2-37 providing 1.5 microseconds delay, a pulse ampilier 2- 38, a delay circuit 2-39 providing 1/2 microsecond delay, a pulse amplifier 2-40, a delay circuit 2-41 providing 1/2 microsecond delay, and a pulse amplifier 2-42 having an output circuit 2-43 in which DTP 4 pulses are developed having a delay equal to 7.5 microseconds or 1 cycle with relation to the input timing potential of the read head R-Z. The DTP 4 pulses are graphically represented by curve E of FIG. 3.

The DTP 3 pulses amplified by the power amplifier 2-27 are also applied as a pulse input to the One side of a flip-flop 2-44 which has applied to its Zero -input side pulses from the output of the pulse amplifier 2-33. Thus a pulse applied to the One input of ip-liop 2-24 is followed 1.7 microseconds later by a pulse applied to its Zero input side to cause the flip-Hop 2-44 to produce in its Zero output circuit a negative going pulse of approximately 1.7 microseconds duration starting at approximately DTP 3 time. This negative going pulse is amplified and inverted by a drum write driver 2-45 to develop in an output crcuit 2-46 of the latter pulses hereinafter identified as a status write sample" pulse and graphically represented by curve G of FIG. 3.

The drum index timing pulses developed in the read head R-3, as explained above in connection with FIG. l. are supplied through a circuit 2-47 to a read circuit 2-48 which develops in its output circuit positive going gating pulses occurring each positive slope zero crossing of the sine wave timing potential developed in the read head R3. It was earlier explained that one cycle of the latter potential occurs with opposite phase to the other cycles of this potential nce each drum revolution. The pulse in the output circuit of unit 2-48 resulting from this one cycle of opposite phase is selected by a gate 2-49 which is conditioned during the time of Occurrence of a DTP 3 pulse developed in the output circuit 2-13.

The index pulse thus selected by the operation of the gate 2-49 is translated through a pulse amplifier 2-50 to an output circuit 2-51 of the latter, and is hereinafter identified as a DTP IX pulse graphically represented by curve H of FIG. 3.

The timing system also generates a number of input timing pulses used to control message input units of the data storage system which change input data from binary series form to binary parallel form in readiness for storage on the storage drum. To this end, the DTP l timing pulses are applied to a gate 252 `which is conditioned through a cathode follower 2-53 from the One output circuit of a flip-flop 2 54 operated in binary fashion by DTP 4 pulses applied both to its One and Zero input sides. The pulses translated `by the gate 2-52 are applied to the Zero input side of a flip-flop 2-54'. DTP 2 pulses are similarly translated through a gate Z-SS, also conditioned by the One output side of the ip-llop 2-54, to deveiop in the output circuit 2-56 of the latter pulses identified as MITP 2 pulses having the same timing as the DTP 2 pulses. These pulses are applied from the output circuit 2-56 to the One input side of the dip-flop 2f-54'. Thus there is developed in the Zero output circuit of the latter pulses having a duration of 2.5 microseconds. starting with a corresponding DTP 1 pulse, and `hereinafter identified as MITP 1-2 pulses. The DTP 4 pulses are also applied to a gate 2-58, oonditioned by the One output side of the flip-flop 2-54, to develop in the output circuit 2-59 of this gate pulses identified as MITP 4 pulses having the same timing as a]- ternate DTP 4 puises. The DTP 4 pulses lastly are applied to a gate 2-60 which is conditioned `by a cathode `follower 2-61 from the Zero output side of the hip-flop 2-54 to develop in the output circuit 2-62 of the gate L60 pulses identified as MIT 8 pulses having the same timing as alternate DTP 4 pulses.

In connection with the generation of the message input timing pulses as last described, it will be noted that the DTP 4 pulses cause the flip-flop 2-54 to develop gating potentials alternately in its Zero and One output sides. Thus one DTP 4 pulse results in the opening of gates 2-S2, 2-55 and 2-58 to develop MITP 1-2, MITP 2 and MITP 4 pulses while the succeeding DTP 4 pulse causes the flip-flop 2-54 to open the gate 2-60 and develop an MITP 8 pulse. Thus the MITP 1-2, MITP 2, and MITP 4 pulses are developed during only alternate cycles of the timing voltage applied to the timing pulse generator 2-10 whereas the MITP 8 pulses are developed in the intervening cycles of the timing voltage. The relationship of these generated pulses to the DTP l-DTP 4 pulses is graphically represented in FIG. 4.

Write Status System A second component of the data storage system which exercises overall system control is the `write status system schematically shown in FIG. 5.

The function of this system is to ascertain which registers of the storage drum are full and which are empty, to generate a drum demand signal coincident with DTP 3 pulse time when empty registers of the drum are sensed by the system, and to generate a write pulse also coincident with DTP 3 pulse time when the data storage system indicates in response to the drum demand that data is available for storage. The demand pulse is generated by the write status system each time that an empty register status signal is received by it. An empty register signal has a positive slope zero crossing in its wave form which occurs at DTP l time, and a full register signal has a positive slope zero crossing in its wave form which occurs at DTP 3 time.

Thus empty and full register signals developed in the read head R-l, mentioned in connection with FIG. 1, are applied through conductors 5-10 to a read circuit 5-11 having a construction shown and described in detail in the aforementioned Everett et al. application. 'The signal applied to the latter has a wave shape dependent upon the status signals recorded in the status channel 14 (FIG. l). In the case of all zeros indicating all empty registers, or all ones indicating all full -egisters, as recorded in the status channel the input to the read circuit 5-11 will be a sine wave of l() kilocycles per second. The read circuit -11 produces a positive going gate pulse during the positive slope zero crossing of the input signal.

In the event that the status signal input to the read circuit 5-11 is representative of a full register, read circuit 5-11 will produce the positive going gate pulse at such a time as to condition a gate 5-12 to translate a DTP l pulse applied thereto from the output circuit 2-15 of the timing system previously described. Should the status input signal to the read circuit 5-11 be representative of an empty register, the read circuit generates a positive going gate signal at DTP 3 time as previously explained, so that the gate 5-12 is not conditioned in such event to translate a DTP 1 pulse. A DTP l pulse translated by the gate 5-12 in response to a full register will cause a flip-flop 5-13 to be set in its One state, the latter being returned to its Zero state by the succeeding DTP 4 pulse applied from the output circuit 2-43 of the timing system. On the other hand, an empty register signal received by the read circuit 5-11 does not condition the gate 5-12 to translate the DTP l pulse and the Hip-flop 5-13 remains in its One state and thereby through a circuit 5-14 conditions a gate 5-15 to translate a DTP 3 pulse applied from the output circuit 2-26 of the timing system.

The translated DTP 3 pulse last mentioned is applied from the output circuit 5-16 of the gate 5-15 to a gate 5-17. The latter translates the applied DTP 3 pulse when conditioned by the One state of a flip-flop 5-18 which receives DTP 1 pulses at both its Zero and One input sides and operates in binary manner to assume its Zero and One output side states alternately. `From this it will be apparent that the gate 5-17 is conditioned to translate alternate ones of the DTP 3 pulses translated by the gate 5--1S, and these alternately translated DTP 3 pulses constitute drum demand pulses appearing in the output circuit 5-19 of the gate 5-17. One such demand pulse is shown in FIG. 3 as curve I.

in summary, therefore, it will be seen that whenever an empty register signal is applied by the read head R-l to the read circuit S-ll, the operation of the gate 5-15 under control of the flip-hop 5-13 and of the gate 5-17 under control of the Hip-flop 5 18 is such that alternate DTP 3 pulses are translated as drum demand pulses. The reason why only alternate DTP 3 pulses are thus used as drum demand pulses is because, as will become more fully apparent during the following description of the complete data storage system, the data information of each data source is comprised by two Words which are stored in the storage drum in two successive registers of the latter. To insure that the first storage register of the drum always stores the first word from any data source, the flip-flop 5-18 is set to its One side by the DTP 1X timing pulses applied from the output circuit 2-51 of the timing system to the One input side of the Hip-flop 5-18 at each index time representing a complete drum revolution. Therefore, an empty register No. l of the drurn results in translation of the next DTP 3 pulse as a drum demand pulse since the index timing pulse DTP IX has just previously set the flip-flop 5-13 to its One side. The following DTP 3 pulse corresponding to the second register is not then translated as a drum demand pulse, even though the second register is empty, since the preceding DTP l pulse has been applied to the flip-flop 5-18 to turn the latter to its Zero output state and thereby shut down the gate 5'-17.

The generation of a proper status signal is also an important function of the write status system as earlier mentioned. The write status system should generate a writea-one signal cach time a full register signal is received by the read circuit 5-11, should generate a `write-a-one sig- 10 nal if data is available to be stored on the drum, and should generate a write-a-zero signal if an empty register signal is received by the read circuit 5-11 and no data is available to be stored on the drum.

in accomplishing the last-mentioned functions of the write status system, DTP 2 pulses are applied from the output circuit 2-24 of the timing system to the Zero input circuit of a hip-flop 5-20 to set the latter in its Zero state and thereby through its output circuit 5-21 condition a gate 5--22 to translate DTP l pulses applied to the latter. The flip-Hop S-.Etl is returned to its One state by DTP 3 pulses translated by the gate 5-15, so that each such pulse in setting the flip-flop 5-20 to its One state closes down the gate 5-22. and the immediately following DTP l pulse is not then translated by the latter. trovai/cr, the absence of a DTP 3 pulse in the output circuit S-lo of the gate 5-15 leaves the Hip-flop 5 2() set in its Zero state at the following DTP l time, so that a Dfi P l pulse is translated through the output circuit 5-23 of this gate and is applied through an OR unit 5-24 to turn a Hip-flop 5 25 to its One state. With flip-Hop 5-25 in its One state, a drum writer 5-26 is conditioned by a status write sample pulse, applied thereto from the output circuit 2-46 of the timing system, to generate a writea-onc sig-,nal which is applied through output circuit 527 to the write head W-2. It will therefore be seen that when the read circuit 5-11 has received a full register status signal, no demand pulse is generated and a Write-aone signal is generated and is applied to the write head W-Z ofthe status write channel 13 (FIG. l) of the storage drum.

lf after generating and transmitting a drum demand pulse to thc data storage system, a pulse is received from the latter at DTP l time on a conductor 5-28 to indicate that data is available for storage, the latter is translated by the OR unit S-24 to set the Hip-flop 5-25 in its One state. This conditions the drum writer 5-26 to generate a write-a-one signal in response to a status write sample pulse applied thereto from the output circuit 2-46 of the timing system. lt is therefore seen that if data is available to be stored on the drum, the write status system generates a write-a-one signal which is recorded by the write head W-2 in the status channel 13 of the storage drum.

The nip-flop 5-25 is periodically reset to its Zero state by DTP 4 pulses applied thereto from the output circuit 2-43 of the timing system. Since the flip-liep S-ZS is always set in its Zero state at DTP 4 time, the drum writer 5--26 will generate a write-a-zero signal in response to a status write sample pulse applied thereto through circuit 2-46 provided that the flip-flop 5-25 is not changed to its One state prior to the receipt of the status write sample pulse.

The generation of a write pulse, as previously mentioned, constitutes a further function of the write status system. The write pulse should be generated only when data is available to be stored on the drum. To this end, a data available pulse appearing at DTP 1 time (curve J ol' FiG. 3) on the data available circuit 5-28 is used to set a ip-op 530 to its One state. The One state of the flip-dop 5-30 through the output circuit 5-31 ot' the latter conditions a gate 5-32 to translate the next DTP 3 pulse to a write output circuit 5-33. One such write pulse is represented by curve K of FlG. 3. The flip-hop 5 3@ is reset to its Zero state by DTP 4 pulses applied to its Zero input circuit from the output circuit 2-43 of the timing system.

The generation ci a reset signal is a further function of the write status system. When the ip-op 5-30 is in its One state by virtue of data available for storage, its output circuit S--Iil in addition to conditioning the gate 5-32 to generate a write pulse at DTP 3 time also conditions a gat: 5-34 to translate a DTP 4 pulse, applied to the latter from the output circuit 2-43 of the timing system, to a gate output circuit 5-35. Thus when data is 11 available to be stored on the drum, a write pulse is generated in the output circuit 5-33 at DTP 3 time and a clear pulse is generated in the output circuit 5-35 at DTP 4 time.

The write status system also generates a drum full" alarm signal. To this end, `a fiip-ilop 5--36 is set in its Zero state by a DTP IX pulse applied thereto from the output circuit 2-51 of the timing system at the time the storage drum enters the first register. If between one DTP IX pulse and the next such pulse (corresponding to one complete drum revolution) a DTP 3 puise has not been translated by the gate 5-15, the Zero output circuit of the flip-liep 5-36 conditions a gate 5 37 to translate the second such DTP IX pulse to the output circuit 5-38 as an alarm pulse indicative of the fact that all registers of the storage drum are full. If, however, a DTP 3 pulse is translated by the gate 5-15, this puise is applied to the One input circuit of the hip-flop 5-36 to set the latter in its One state and thus close down the gate 5-37. The next DTP 1X pulse will set the flip-:liep 5-36- again in its Zero state but, due to the inherent delay in the ilip-liop 5-36, the gate 5-37 will not be conditioned to pass that index pulse so that an alarm pulse is generated only when the liip-op 5-36 remains in its Zero state for a comrand certain of the timing output circuits extend out of the write status system in cables 5-39, 5 40 and 5-41 as shown.

Data Storage System General Arrangement The general arrangement of the data storage system is shown schematically in FIG. 6'. By way of illustration, the system is shown as arranged to translate data received from three data sources identified as source 1, source 2, and soure 3. This data is applied to a data input system 6-10 for the source l, 6-10' for the source 2, 6-10 for the source 3 having the same circuit arrangement and mode of operation as shown and described more fully hereinafter. Each input system operates to take the data presented in binary series forrn and convert it to output data in binary parallel form.

The data received from each source in binary series form has a bit composition as represented in FIG. 7. It is received in a data circuit 6-11 and is accompanied by timing pulses received in a timing circuit 6-12 and Sync pulses received in a Sync circuit 6-13. FIG. 8 shows the timing relationship of the received Sync pulses, timing pulses, and data bits of a received message. Each Sync pulse occurs coincident in time with one of the timing pulses, for example the timing pulse ITP l as indicated in FlG. 8. Beginning with the other timing pulse following the Sync pulse, a pulse or no pulse coincident in time with corresponding timing pulses will be received on the data input circuit 6-11, the presence of a pulse indicating a binary One and the absence of a pulse indicating a binary Zero. The bit coincident in time with timing pule ITP 4 is called a busy bit and if present indicates that a message follows. As indicated in FIGS. 7 and 8 a message has two words and each could be said to have two half-words. Message bits 1 through l0, coincident with timing pulses lTP 5 through ITP 14, could be said to be the first half-word or left half-word. The second group of data bits l through 12, coincident with timing pulses ITP l5 through ITP 26 could be said to be the second half-Word or right half-word. The bit coincident with ITP 27 is called a parity bit and is either a pulse or no pulse dependent upon the number of binary Ones in the word. ln the system herein described, the parity operation requires that the sum of binary Ones in each word when added to the parity bit must result in an even number.

The second Sync pulse occurs at ITP 53 time, and the busy bit for the next message occurs at ITP 56 time. The second message, like the first message, could be said to have two words, each word having two half-words.

The input system 6-10 receives a message from its associated source in binary series form and converts and stores the message as two words each in binary parallel form. If now a drum demand pulse is received by the system 6-10 from the demand circuit 5-19 of the write status system previously described, and if the input system contains two words in storage in readiness to be stored on the storage drum, the data bits comprising the first word of the message are delivered to a 22 conductor cable 6-14 and I() microseconds thereafter the data bits of the second word of the message are delivered to a 22 conductor cable 6-15. The successive words translated through the cables 6-14 and 6-15 are applied to a write system 6-16, described more fully hereinafter. in the event that the input system 6-10 does not store message in readiness for drum storage, the demand pulse supplied from the output circuit 5-19 of the write `status system is automatically channeled through the input system 6-10 and is applied to the input system 6-10. if the latter contains two words stored in readiness for storage on the drum, it operates as explained for the system. 6-10 or otherwise automatically channels the demand pulse to the system -l" also having the same mode of operation as the system 6-10.

When any of the input systems deliver words to the write system 6-16, it also delivers to the latter through a 2 circuit cable 6-17 the two busy bits associated with the two delivered words and further delivers through a 3 circuit Cable 6M18 a 3 bit word in binary parallel form identifying the particular source from which the message originated. In this, each source is identified by a distinctive identifying word as will be explained more fully hereinafter in the detailed description of the input system.

There is recorded with the message on the storage drum the time at which the message was received from its data source. To this end, a time tag system 6-20 continuously applies to the write system 6-16 through a 5 conductor cable 6-21 time signals representative of the instantaneous count of one pulse every 0.25 second from the occurrence of a time reference pulse received by the time tag system every eight seconds. This eight `second pulse is applied to the system 6-20 through a circuit 6-22 from a master time system, not shown, which also supplies to the system 6-20 through a circuit 6-23 the 0.25 second pulses.

As previously mentioned, each word of the message includes a parity bit which is used by the input system 6-10 to identify the fact that all data bits are received by it from the data source. After the two words are arranged in storage to be delivered in parallel by the input system 64010 the write system 6-16, the input system delivers the two parity bits of the two Words and a. parity bit count of the source identity word (produced by the input system) through a 3 conductor cable 624 to a parity correction system 6-25. The latter also receives from the time tag system 6-20 through conductors 6-26 and 6-27 respective parity odd and parity even information of the time tag which the system 6-20 applies at every moment to the write system 6-16. The parity correction system 6-25 so operates that it produces in an output circuit 6-28 and applies to the write system 6-16 a parity information bit which the write system -lti translates to the storage drum for storage with the message.

The write system 6-16 upon receiving the two 22 bit words, the two busy bits, and the source identitication word from an input system 6-16 transmits through the circuit S--ZS to the write status system 6--3i (previously described) a data available pulse. This causes the latter system to generate `and apply through its output circuit 

